﻿Public Class WfMeuCadastroDesp
    Inherits System.Web.UI.Page
    Dim despLogado As New Despachante

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Session("DespLogado") Is Nothing Then
            Response.Redirect("/Screens/WF1.aspx")
        End If

        despLogado = Session("DespLogado")

        If IsPostBack = False Then
            ListaEstado()
            tbnome.Text = despLogado.FantasiaDesp
            tbemail.Text = despLogado.EmailDesp
            tbtel.Text = despLogado.TelDesp
            tbend.Text = despLogado.EndDesp
            tbcpf.Text = despLogado.CpfCnpjDesp
            tbsenha.Text = despLogado.SenhaDesp
            DropEstado.SelectedItem.Text = despLogado.Cidade.Estado.NomeEst
            ListCidade.Items.Add(despLogado.Cidade.NomeCid)
        End If



    End Sub

    Protected Sub editar_Click(sender As Object, e As EventArgs) Handles editar.Click
        ValidacaoCidade.Enabled = False
        Salvar.Visible = True
        editar.Enabled = False
        enabledCampos()
        ValidacaoCidade.Enabled = True

    End Sub

    Public Sub enabledCampos()
        tbnome.Enabled = True
        tbemail.Enabled = True
        tbtel.Enabled = True
        tbend.Enabled = True
        tbcpf.Enabled = True
        tbsenha.Enabled = True
        DropEstado.Enabled = True
        ListCidade.Enabled = True
    End Sub

    Public Sub desablebleTextbox()
        tbnome.Enabled = False
        tbemail.Enabled = False
        tbtel.Enabled = False
        tbend.Enabled = False
        tbcpf.Enabled = False
        tbsenha.Enabled = False
        DropEstado.Enabled = False
        ListCidade.Enabled = False
    End Sub

    Protected Sub DropEstado_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DropEstado.SelectedIndexChanged
        Dim objCidadeDao As New CidadeDAO
        Dim lista As New List(Of Cidade)
        Dim objEst As New Estado
        Dim objEstDao As New EstadoDAO
        objEst.NomeEst = DropEstado.SelectedItem.Text
        objEst = objEstDao.SelectEstadoNome(objEst)

        If DropEstado.SelectedValue = "neutro" Then

            ListCidade.Visible = False
        Else
            lista = objCidadeDao.ListaCidadeEstado(objEst.CodEst)
            ListCidade.Visible = True
        End If

        ListCidade.Items.Clear()

        For Each cid As Cidade In lista
            ListCidade.Items.Add(cid.NomeCid)
        Next
    End Sub

    Public Sub ListaEstado()

        Dim lista As New List(Of Estado)
        Dim objEstadoDao As New EstadoDAO

        lista = objEstadoDao.ListaTodos
        For Each est As Estado In lista
            DropEstado.Items.Add(est.NomeEst)
        Next
        DropEstado.DataBind()
    End Sub
  
    Protected Sub Salvar_Click(sender As Object, e As EventArgs) Handles Salvar.Click
        Dim objDespDao As New DespachateDAO
        Dim objDespAtualizado As New Despachante
        Dim objCidadeDao As New CidadeDAO


        Try
            objDespAtualizado.CodDesp = despLogado.CodDesp
            objDespAtualizado.FantasiaDesp = tbnome.Text.ToString
            objDespAtualizado.EmailDesp = tbemail.Text.ToString
            objDespAtualizado.TelDesp = tbtel.Text.ToString
            objDespAtualizado.EndDesp = tbend.Text.ToString
            objDespAtualizado.CpfCnpjDesp = tbcpf.Text.ToString
            objDespAtualizado.SenhaDesp = tbsenha.Text.ToString
            objDespAtualizado.StatusDesp = despLogado.StatusDesp
            objDespAtualizado.Cidade = objCidadeDao.SelectCidadeNome(ListCidade.SelectedValue.ToString)
            objDespDao.Atualizar(objDespAtualizado)

            lbmsg.ForeColor = Drawing.Color.Blue
            lbmsg.Text = "Cadastro Atualizado com Sucesso !"
            editar.Enabled = False
            desablebleTextbox()
            Salvar.Visible = False
            Session("DespLogado") = objDespAtualizado
            desablebleTextbox()
        Catch ex As Exception
            lbmsg.ForeColor = Drawing.Color.Red
            lbmsg.Text = "Erro ao Atualizar Cadastro !"
        End Try
    End Sub

    Private Sub WfMeuCadastroDesp_PreRender(sender As Object, e As System.EventArgs) Handles Me.PreRender
        If Session("DespLogado") Is Nothing Then
            Response.Redirect("/Screens/WF1.aspx")
        End If
    End Sub
End Class